Welcome to pandas!

Pandas 是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来,享有数据分析“三剑客之一”的盛名(NumPy、Matplotlib、Pandas)。Pandas 已经成为 Python 数据分析的必备高级工具,它的目标是成为强大、灵活、可以支持任何编程语言的数据分析工具。

Pandas 这个名字来源于面板数据(Panel Data)与数据分析(data analysis)这两个名词的组合。在经济学中,Panel Data 是一个关于多维数据集的术语。Pandas 最初被应用于金融量化交易领域,现在它的应用领域更加广泛,涵盖了农业、工业、交通等许多行业。

Pandas 最初由 Wes McKinney(韦斯·麦金尼)于 2008 年开发,并于 2009 年实现开源。目前,Pandas 由 PyData 团队进行日常的开发和维护工作。在 2020 年 12 月,PyData 团队公布了最新的 Pandas 1.20 版本 。

在 Pandas 没有出现之前,Python 在数据分析任务中主要承担着数据采集和数据预处理的工作,但是这对数据分析的支持十分有限,并不能突出 Python 简单、易上手的特点。Pandas 的出现使得 Python 做数据分析的能力得到了大幅度提升,它主要实现了数据分析的五个重要环节:

1、加载数据

2、整理数据

3、操作数据

4、构建数据模型

5、分析数据


Pandas主要特点

Pandas 主要包括以下几个特点:

1、它提供了一个简单、高效、带有默认标签(也可以自定义标签)的 DataFrame 对象。

2、能够快速得从不同格式的文件中加载数据(比如 Excel、CSV 、SQL文件),然后将其转换为可处理的对象;

3、能够按数据的行、列标签进行分组,并对分组后的对象执行聚合和转换操作;

4、能够很方便地实现数据归一化操作和缺失值处理;

5、能够很方便地对 DataFrame 的数据列进行增加、修改或者删除的操作;

6、能够处理不同格式的数据集,比如矩阵数据、异构数据表、时间序列等;

7、提供了多种处理数据集的方式,比如构建子集、切片、过滤、分组以及重新排序等。

上述知识点将在后续学习中为大家一一讲解。


Pandas主要优势

与其它语言的数据分析包相比,Pandas 具有以下优势:

1、Pandas 的 DataFrame 和 Series 构建了适用于数据分析的存储结构;

2、Pandas 简洁的 API 能够让你专注于代码的核心层面;

3、Pandas 实现了与其他库的集成,比如 Scipy、scikit-learn 和 Matplotlib;

4、Pandas 官方网站(点击访问)提供了完善资料支持,及其良好的社区环境。

5、Pandas内置数据结构


我们知道,构建和处理二维、多维数组是一项繁琐的任务。Pandas 为解决这一问题, 在 ndarray 数组(NumPy 中的数组)的基础上构建出了两种不同的数据结构,分别是 Series(一维数据结构)DataFrame(二维数据结构):

Series 是带标签的一维数组,这里的标签可以理解为索引,但这个索引并不局限于整数,它也可以是字符类型,比如 a、b、c 等;

DataFrame 是一种表格型数据结构,它既有行标签,又有列标签。


1 Numpy 数据处理基石

Numpy是一个运行速度非常快的数学库,支持大量维度数组与矩阵的运算, Pandas 是基于Numpy的一种数据分析工具,Numpy可以简写成np

1.1 普通数组 array

数组要有相同数据格式的元素

1.1.1 array数组(数组形式写入)

import numpy as np

t=np.array([1,2,3])

print (t)

返回:

[1 2 3]


1.1.2 array数组(元组形式写入)

import numpy as np

t=np.array((1,2,3))     #用元组的形式,得到的输出结果和上面是一样的。

print (t)

返回:

[1 2 3]


1.1.3 array数组自动默认为字符串格式的情形

import numpy as np

t=np.array([1,2,3,"4"])      # 如果中间有文本格式,则返回全部是文本格式

print (t)

返回:

['1' '2' '3' '4']


1.1.3 array数组的步长

import numpy as np

t=np.array(range(1,10))     # 使用range函数,可以加入一个系列数,默认步长是1

print (t)

返回:

[1 2 3 4 5 6 7 8 9]


1.1.4 array 二维数组

import numpy as np

arr=np.array([[1,2,3],[4,5,6]])    # 返回一个二维数组

print (arr)

返回:

[[1 2 3]

[4 5 6]]